The use of distributed computing has grown by leaps and bounds. By using multiple connected computers, a large amount of computing power can be brought to bear on massive computing tasks.
A bottleneck within a distributed computing system is communications between processes. Typically, processes exchange data through the operating system kernel, which incurs higher overheads, such as locks and protocol processing, and thus slow down performance. A way to bypass the operating system kernel is to exchange data through a shared memory space. Use of the shared memory space may be aided by an augmented communications service. The augmented communications service is useful only if the processes that are communicating with each other are using the service and know that the other process is using the service. A process may communicate with many other processes, and not all of them use the service. However, the processes themselves do not know which process uses the service and which does not. Without awareness of which process uses the service and which doesn't, the augment communications service is ineffective.